Wir haben jetzt zuletzt uns von sehr einfachen, einfachen, aber wichtigen Aspekten wie Methodentypen
durchgearbeitet zu etwas höherwertigen Entwurfskonzepten, wie zum Beispiel Entwurfsmustern, insbesondere
weil viele Leute, die das Entwurfsmusterbuch, das Gang of Four Book kennen, halt meinen,
das ist es dann, habe ich halt zwei Muster vorgestellt, Typobjekt und Wertobjekt, die
eben nicht in diesem Buch zu finden sind, um auch noch mal klar zu machen, dass das ein
deutlich weiteres Konzept ist. Auch Sie können in Ihrer Arbeit irgendwann mit wachsender Erfahrung
vielleicht neue Muster erkennen, die man bis dato gar nicht kannte. Und wir gehen jetzt
in der Abstraktion oder in dem Ausprägen Ihrer sprachlichen Fähigkeiten effizient
über Entwurf und Implementierung zu reden, noch mal einen Schritt weiter, von einem einzelnen
Muster hin zu mehreren Mustern im Zusammenhang. Dafür habe ich ein sehr gut abgegrenztes
Gebiet gewählt, nämlich die Objekterzeugung. Was wir heute sehen werden, ist, wie verschiedene
Muster mit Vor- und Nachteilen gegeneinander aufgewogen werden können, um dann für eine
konkrete Situation die vielleicht angemessenste oder beste Entwurfsentscheidung zu treffen.
Unser Ziel wird also sein, Objekte zu erzeugen und dafür schauen wir uns diese fünf unterschiedlichen
Varianten an. Das erste, die erste ist kein Muster oder wird nicht als Muster wahrgenommen,
allenfalls ist ein Programmieridium, das bekannte Switch-Case-Statement und danach folgen vier
immer komplizierte werdende Muster. Wir werden sehen, wie zunehmende Komplexität manchmal
notwendig ist, um Probleme oder Herausforderungen in der Aufgabe, nämlich des Erzeugens der
Objekte, dann auch tatsächlich abzuarbeiten. Am Ende stellen wir es dann mal alles nebeneinander,
um dann quasi im Vergleich festhalten zu können, wie sich diese unterscheiden. Also, unsere
Herausforderung hier ist Erzeugung eines Objektes und ich habe mir ein sehr einfaches Beispiel
genommen und stelle sich vor, Sie haben einen Laptop vor sich und Sie können Anwendung starten
oder Sie können Dokumente öffnen. Wenn Sie Dokumente öffnen, dann haben Sie ja erstmal
vielleicht mit Doppelklick auf eine Datei die Herausforderung überhaupt die zugehörige
Anwendung über einen Type oder so zu finden und in Abhängigkeit davon werden jeweils
Objekte erzeugt. Hier ist die, eine einfache Illustration. Es gibt halt die Kernklassen,
Anwendung und Dokument und das sind die Oberklassen von unterschiedlichen Anwendungen und unterschiedlichen
Dokumenten. Ich habe hier quasi LibreOffice, OpenOffice nachmodelliert. Es gibt Writer,
das ist wie Microsoft Word, Calc, das ist wie Microsoft Excel und Impress, das ist wie
Microsoft PowerPoint, halt die LibreOffice Varianten und jeweils dazu gehört ein Objekt,
das das bearbeitete Dokument, Text, Spreadsheet, Präsentation repräsentiert. Wichtig ist
hier, dass für die Einbettung in den Desktop diese jeweiligen Klassen alle eine Oberklasse,
eine generische Oberklasse Anwendung und Dokument haben. So würde man es üblicherweise in einem
objektorientierten Rahmenwerk machen, das in einen Desktop eingebunden ist. Desktop
hier ist der Client, Client an sich, der jetzt entweder das Anwendung startet, dann noch
ohne Dokument oder ein Dokument öffnet oder erzeugt, um dann die zugehörige Anwendung
zu finden. Und ganz rechts noch, weil wir das als Information brauchen, halt die Idee,
dass Dokumente aus Dateien geladen werden und das Dateien einen Typ haben, und damit
können wir jetzt arbeiten, um in Abhängigkeit voneinander diese Objekte zu erzeugen. Wenn
Wenn wir das jetzt gleich machen, müssen wir hier irgendwie bewerten, nehmen wir eine
Factory Method, nehmen wir eine abstrakte Fabrik oder schreiben wir einfach New hin und das
sind die Kriterien.
Für die Bewertung, wie einfach ist der Code lesbar, wie gut ist er verständlich, wie
einfach ist er zu ändern, wie einfach kann er erweitert werden.
So, erstes Beispiel.
Der Benutzer klickt auf eine Datei, das heißt wir haben erstmal nur den Dateinamen, noch
kein Objekt und müssen jetzt zu einem Dateinamen wie mein spreadsheet.ods aus dieser einfachen
Information herausfinden, welches Objektart, nämlich ein spreadsheet Objekt erzeugt werden
muss.
Das heißt wir wollen eigentlich gehen vom File Typ, kann meinem Type sein, ich mache
Presenters
Zugänglich über
Offener Zugang
Dauer
01:08:26 Min
Aufnahmedatum
2020-01-20
Hochgeladen am
2020-01-20 21:59:02
Sprache
de-DE